package bts.tcc;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.xml.sax.Parser;

import android.app.Activity;
import android.database.Cursor;
import android.graphics.Color;
import android.os.Bundle;
import android.text.style.TextAppearanceSpan;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;

public class VisualizarTarefasActivity extends Activity {
	List<Tarefa> listTarefas;
	int idBtnEditar = 1;
	int idBtnExcluir = 2;
	
	/**
	 * @see android.app.Activity#onCreate(Bundle)
	 */
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
	    final LinearLayout linearLayout = new LinearLayout(this);
	    linearLayout.setOrientation(LinearLayout.VERTICAL);
	 
	    final ScrollView scrollView = new ScrollView(this);
	    scrollView.addView(linearLayout);
	 
	    final TextView textView = new TextView(this);
	    textView.setText("Lista de Tarefas Agendadas");
	    textView.setTextAppearance(VisualizarTarefasActivity.this, android.R.style.TextAppearance_Large);
	    textView.setGravity(1);
	    linearLayout.addView(textView);
	 
	    //inicio - codigo temporario para teste
		carregaDados();
		//fim codigo para teste
	    
		if (listTarefas.size() > 0) {
			for (Tarefa tarefa : listTarefas) {
				Button btn = new Button(this);
				btn.setText("Visualizar");
				btn.setId(idBtnEditar);
				idBtnEditar += 2;
				Button btn2 = new Button(this);
				btn2.setText("Excluir");
				btn2.setId(idBtnExcluir);
				btn2.setOnClickListener(new OnClickListener() {
					@Override
					public void onClick(View v) {
						int idTarefaExcluir = idBtnEditar / 2;
						for (int i = 0; i < listTarefas.size(); i++) {
							if (listTarefas.get(i).getIdTarefa() == idTarefaExcluir) {
								i = listTarefas.size();
								Toast.makeText(VisualizarTarefasActivity.this, 
										listTarefas.get(i).getNomeTarefa() + " excluída com sucesso.", 
										Toast.LENGTH_SHORT).show();
								listTarefas.remove(i);
							}
						}
					}
				});
				
				idBtnExcluir += 2;
				TextView txtView = new TextView(this);
				txtView.setText(tarefa.getNomeTarefa());
				txtView.setTextAppearance(VisualizarTarefasActivity.this, android.R.style.TextAppearance_Medium);
				LinearLayout teste = new LinearLayout(this);
				teste.setOrientation(LinearLayout.HORIZONTAL);
				
				teste.addView(btn);
				teste.addView(btn2);
				teste.addView(txtView);
				
				linearLayout.addView(teste);
			}
		} else {
			Toast.makeText(VisualizarTarefasActivity.this, 
					"Não há tarefas agendadas.", 
					Toast.LENGTH_LONG).show();
		}
	   
	 
	    this.setContentView(scrollView);
		
//		int numeroTarefas = 0;
//		
//		//busca no banco as tarefas
//		if (numeroTarefas != 0) 
//		{
//			SQLite sqLite = new SQLite(this, "dbTCC", null, 3);
//	        Cursor cTarefa = sqLite.getCursor("TAREFA"
//	        		, new String[] {"ID_TAREFA"
//	        						, "ID_ACAO_DISPOSITIVO"
//	        						, "HORARIO"
//	        						, "REGISTRO_MANUAL"
//	        						, "NOME_TAREFA"
//	        						, "STATUS_TAREFA" }
//	        		, null);
//	        
//	        List<Tarefa> tarefas = new ArrayList<Tarefa>();
//	        if (cTarefa != null)
//	        {
//	        	while(cTarefa.moveToNext())
//	        	{
//	        		Tarefa tarefa = new Tarefa();
//	        		tarefa.setIdTarefa(cTarefa.getInt(cTarefa.getColumnIndex("ID_TAREFA")));
//	        		tarefa.setIdAcaoDispositivo(cTarefa.getInt(cTarefa.getColumnIndex("ID_ACAO_DISPOSITIVO")));
//	        		//tarefa.setHorario(new Date(cTarefa.getColumnIndex("HORARIO")));
//	        		tarefa.setRegistroManual(cTarefa.getInt(cTarefa.getColumnIndex("REGISTRO_MANUAL")));
//	        		tarefa.setNomeTarefa(cTarefa.getString(cTarefa.getColumnIndex("NOME_TAREFA")));
//	        		tarefa.setStatusTarefa(cTarefa.getInt(cTarefa.getColumnIndex("TATUS_TAREFA")));
//	        		
//	        		tarefas.add(tarefa);
//	        	}
//	        }
//	        
//	        //preenche uma lista de tarefas
//	        for (Tarefa tarefa : tarefas) {
//				//cria a lista das tarefas
//			}
//		} 
//		else 
//		{
//			Toast.makeText(VisualizarTarefasActivity.this, 
//					"Não há tarefas agendadas.", 
//					Toast.LENGTH_LONG).show();
//		}
	}
	
	//classe temporaria de teste
	public void carregaDados()
	{
		listTarefas = new ArrayList<Tarefa>();
		List<Integer> listaDiaSemana = new ArrayList<Integer>();
		listaDiaSemana.add(1);
		listaDiaSemana.add(4);
		
		Tarefa t1 = new Tarefa();
		t1.setHora(10);
		t1.setMinuto(40);
		t1.setIdTarefa(1);
		t1.setStatusTarefa(1);
		t1.setNomeTarefa("Tarefa 1");
		t1.setRegistroManual(1);
		t1.setIdAcaoDispositivo(1);
		t1.setDiasSemana(listaDiaSemana);
		
		listaDiaSemana = new ArrayList<Integer>();
		listaDiaSemana.add(7);
		Tarefa t2 = new Tarefa();
		t2.setHora(8);
		t2.setMinuto(15);
		t2.setIdTarefa(2);
		t2.setStatusTarefa(0);
		t2.setNomeTarefa("Tarefa 2");
		t2.setRegistroManual(0);
		t2.setIdAcaoDispositivo(2);
		t2.setDiasSemana(listaDiaSemana);
		
		listTarefas.add(t1);
		listTarefas.add(t2);
	}
}
